Volumes of data being communicated via contemporary data communication networks, for example via the Internet and wireless telephones networks, are progressively increasing as a function of time, for example as 3D video and HD video become more commonplace. Known image and video coding methods, for example JPEG, JPEG2000, WebP, H.264, WebM and VC-1 as elucidated in Table 1, are effective for compressing natural image content, but are not so well suited for compressing other types of data content, for example for compressing desktop images, animations, graphics or natural content that contains local or global variations in data values.
TABLE 1Known data encoding methods, hereby incorporated by reference.Known methodDetailsJPEGJPEG - Wikipedia, the free encyclopedia (accessed Apr. 26, 2013).URL: http://en.wikipedia.org/wiki/JPEGJPEG2000JPEG 2000 - Wikipedia, the free encyclopedia (accessed Apr. 26,2013). URL: http://en.wikipedia.org/wiki/JPEG_2000WebPWebP - Google Developers (accessed Apr. 26, 2013). URL:https://developers.google.com/speed/webp/H.264H.264/MPEG-4 AVC - Wikipedia, the free encyclopedia (accessedApr. 26, 2013). URL:http://en.wikipedia.org/wiki/H.264/MPEG-4_AVCWebMThe WebM Project|Welcome to the WebM Project (accessed Apr.26, 2013). URL: http://www.webmproject.org/VC-1VC-1 - Wikipedia, the free encyclopedia (accessed Apr. 26, 2013).URL: http://en.wikipedia.org/wiki/VC-1GIFGraphics Interchange Format - Wikipedia, the free encyclopedia(accessed Apr. 26, 2013). URL:http://en.wikipedia.org/wiki/Graphics_Interchange_FormatPNGPortable Network Graphics - Wikipedia, the free encyclopedia(accessed Apr. 26, 2013). URL:https://en.wikipedia.org/wiki/Portable_Network_GraphicsDCTDiscrete Cosine TransformWavelet transformWikipedia, the free encyclopedia (accessed Apr. 26, 2013). URL:http://en.wikipedia.org/wiki/Wavelet_transformPalettePalette (computing) - Wikipedia, the free encyclopedia (accessedApr. 26, 2013). URL:http://en.wikipedia.org/wiki/Palette_%28computing%29
GIF and PNG encoding methods, see Table 1 above for further details, are also capable of providing efficient encoding for certain types of data, but are less appropriate if a given image to be encoded contains numerous different types of content, or considerable mutually similar content; moreover, these encoding methods are also quite inefficient, or cause lot of errors, in data reconstruction during subsequent decoding in a decoder. Especially, if the given image contains also some natural objects, Graphics Interchange Format (GIF) as a method generates considerable error artifacts, and Portable Networks Graphics (PNG) as a method uses a huge amount of bits for encoding “noise”, for example spatially random texture portions of the given image. Individual transform-based methods such as Discrete Cosine Transform (DCT) and wavelet are not especially suitable for structured content.
Run Length Encoding (RLE) is able to code efficiently multiple similar data values that are adjacent, but such a RLE method has associated limitations and/or problems, for example related to its optimization in respect of periodic data values. Only by combining Delta encoding (DE) with RLE, is RLE effective to employ for simple linear 1D data blocks, but not for complex 1D blocks, and then it does not work satisfactorily at all for complex 2D or complex 3D data blocks.
Many known contemporary methods involve scaling a whole image or image channel down before encoding it, and then interpolating the reconstructed image or image channel back to its original resolution, for example pursuant to a contemporary YUV420/YUV422 format used in image/video encoding. These known contemporary methods are still not suitable for many contemporary situations, because they do not process a given volume of data in a block-wise manner. Moreover, the known methods use interpolation everywhere in a similar manner, which seriously negatively affects all image details and creates inefficient compression for smooth areas. Furthermore, they also need other coding methods to create additional compression for down-scaled data values.
In a publication “Scanned Compound Document Encoding Using Multiscale Recurrent Patterns,” by Francisco, N.C.; Rodrigues, N. M. M.; da Silva, E. A. B.; de Carvalho, M. B.; De Faria, S. M. M.; da Silva, E. A. B.; Image Processing, IEEE Transactions on, vol. 19, no. 10, pp. 2712, 2724, October 2010 (accessed Apr. 26, 2013), URL: http://ieeexplore.ieee.org/xpl/login.jsp?reload=true&tp=&arnumber=5454328&url=http %3A%2F%2Fieeexplore.ieee.org%2Fiel5%2F83%2F5577553%2F05454328.pdf%3Farnumber%3D5454328
there is described a method of encoding data, wherein the method is concerned with scanning compound documents that enables utilization of earlier coded patterns that are stored to multi-scale dictionaries for future usage.
The aforementioned known methods are not really suitable for block-based coding of data, such that there is a need for providing improved methods of encoding such block data. There are many different coding methods available, but none of these available methods is perfect for the multitude of different image data, video data, audio data, graphics data, Unicode data or binary data, or similar data formats and types that are often encountered. For this reason, a new method is necessary, to complement a selection of coding methods, so that all kinds of data can be compressed efficiently. For example, there is no fast and effective method available for encoding a data block that contains following fifteen values: (7, 8, 10, 14, 22, 38, 70, 134, 70, 38, 22, 14, 10, 8, and 7), wherein a series of data values increase in a predetermined manner, for example increasing towards a middle region of the series of data values, and then decreasing similarly towards a commencing end and concluding end of the series, or in a different manner towards the ends of the series of data values
TABLE 2Acronyms employed within this disclosureAcronymsDefinitionsDCTDiscrete Cosine TransformDPCMDifferential Pulse-Code ModulationEMEntropy Modifier, invented by Ossi Kalevo, pending patentapplication no. GB1303658.7, filed Jan. 3, 2013H.264H.264/Advanced Video Coding (AVC) is an industrystandard for video compressionJPEGJoint Photographic Experts Group's lossy compression methodJPEG2000Joint Photographic Experts Group's renewed compressionmethodODeltaDelta coding method invented by Ossi Kalevo, pending patentapplication no. GB1303661.1, filed Jan. 3, 2013PCMPulse-Code ModulationRDRate DistortionRLERun-Length EncodingSRLESplit Run-Length Encoding invented by Tuomas Kärkkäinenand Ossi Kalevo, pending patent application no.GB1303660.3, filed Jan. 03, 2013VC-1An evolution of the conventional DCT-based VideoCodec designVLCVariable-Length CodeVQVector QuantizationWebMOpen video format for the WebWebPAn image format that provides lossless and lossy compressionfor images on the Web